package 员工管理系统;
import java.util.Scanner;

//员工管理系统
public class EmployeeManageSystem {

	// 属性
	
	// 存储100个员工信息
	Employee[] employees = new Employee[100];
	
	Scanner sc = new Scanner(System.in);
	
	// 主流程
	public void run()
	{
		System.out.println("欢迎使用xxx员工管理系统");
		
		while(true)
		{
			// 打印菜单
			System.out.println("1. 添加员工");
			System.out.println("2. 列出员工");
			System.out.println("3. 删除员工");
			System.out.println("4. 修改员工");
			System.out.println("9. 退出系统");
			
<<<<<<< HEAD
			while(true)
			{
				// 打印菜单
				System.out.println("1. 添加员工");
				System.out.println("2. 列出员工");
				System.out.println("3. 删除员工");
				System.out.println("4. 修改员工");
				System.out.println("9. 退出系统");
				
				// 让用户选择
				System.out.println("请输入要执行的操作:");
				int sel = sc.nextInt();
				
				if(sel==9) break;
				
				switch(sel)
				{
				case 1:
					add();
					break;
				case 2:
					list();
					break;
				case 3:
//					del();
					break;
				case 4:
//					modify();
					break;
				}
			}
			
			System.out.println("程序关闭中，欢迎在再次使用");
			
			
		}
		
		private void modify() {
			System.out.println("修改员工信息");
			
			System.out.println("请输入要修改的员工的姓名:");
			int name = sc.nextInt();
			
			int index = -1;
			for(int i=0;i<100;i++)
			{
				if(employees[i] != null)
				{
					if(employees[i].getName() ==name)
					{
						// 记录要修改的员工索引
						index = i;
						break;
					}
				}
			}
			
			if(index!=-1)
			{
				System.out.println("请输入员工的新信息:");
				String name = sc.next();
				int chinese = sc.nextInt();
				int math = sc.nextInt();
				int english = sc.nextInt();
				stus[index].setName(name);
				stus[index].setChinese(chinese);
				stus[index].setMath(math);
				stus[index].setEnglish(english);
				System.out.println("修改成功");
			}
			else
			{
				System.out.println("没有找到要修改的员工");
			}
		}
	
//		private void del() {
//			
//			System.out.println("删除员工信息");
//			System.out.println("请输入要删除员工的编号:");
//			int id = sc.nextInt();
//			
//			boolean finded = false;
//			for(int i=0;i<100;i++)
//			{
//				if(stus[i] != null)
//				{
//					if(stus[i].getId() == id)
//					{
//						stus[i] = null;
//						System.out.println("删除成功!!");		
//						finded = true;
//						break;
//					}
//				}
//			}
//			if(!finded)
//			{
//				System.out.println("没有找到这个学号的员工!!");
//			}
//		}

		public void add()
		{
			System.out.println("添加员工功能");
			
			
			System.out.println("请输入员工类型1 司机 2 销售3 销售主管:");
=======
			// 让用户选择
			System.out.println("请输入要执行的操作:");
>>>>>>> 051198da3652f3357ed9d069f0f467806080f50d
			int sel = sc.nextInt();
			
			if(sel==9) break;
			
			switch(sel)
			{
			case 1:
				add();
				break;
			case 2:
				list();
				break;
			case 3:
				del();
				break;
			case 4:
				modify();
				break;
			}
<<<<<<< HEAD
			else if(sel == 2) 
			{
				System.out.println("请输入销售的提成比率");
				double rate = sc.nextDouble();
				e = new Seller(name,age,salary,rate);
			}
			else if(sel == 3) 
			{
				System.out.println("请输入销售的提成比率");
				double rate = sc.nextDouble();
				e = new SellerManager(name,age,salary,rate);
			}
			
			// 3. 把员工对象放入数组
			for(int i=0;i<100;i++)
			{
				if([i] == null)
				{
					employees[i] = e;
					break;
				}
			}
			
=======
>>>>>>> 051198da3652f3357ed9d069f0f467806080f50d
		}
		
		System.out.println("程序关闭中，欢迎在再次使用");
		
		
	}
	
	private void modify() {
	System.out.println("修改员工信息");
	
	System.out.println("请输入要修改的员工的编号:");
	int id = sc.nextInt();
	
	int index = -1;
	for(int i=0;i<100;i++)
	{
		if(employees[i] != null)
		{
			if(employees[i].getId() == id)
			{
				// 记录要修改的员工索引
				index = i;
				break;
			}
		}
	}
	
	if(index!=-1)
	{
		System.out.println("请输入员工的新信息:");
		String name = sc.next();
		int age = sc.nextInt();
		int salary = sc.nextInt();
		
		employees[index].setName(name);
		employees[index].setAge(age);
		employees[index].setSalary(salary);

		System.out.println("修改成功");
	}
	else
	{
		System.out.println("没有找到要修改的员工");
	}
}

private void del() {
	
	System.out.println("删除员工信息");
	System.out.println("请输入要删除员工的编号:");
	int id = sc.nextInt();
	
	boolean finded = false;
	for(int i=0;i<100;i++)
	{
		if(employees[i] != null)
		{
			if(employees[i].getId() == id)
			{
				employees[i] = null;
				System.out.println("删除成功!!");		
				finded = true;
				break;
			}
		}
	}
	if(!finded)
	{
		System.out.println("没有找到这个编号的员工!!");
	}
}

	public void add()
	{
		System.out.println("添加员工功能");
		
		
		System.out.println("请输入员工类型1 司机 2 销售3 销售主管:");
		int sel = sc.nextInt();
		System.out.println("请输入员工编号：");
		String id = sc.next();
		System.out.println("请输入员工姓名：");
		String name = sc.next();
		System.out.println("请输入员工年龄：");
		int age = sc.nextInt();
		System.out.println("请输入员工基本工资：");
		int salary = sc.nextInt();
		
		Employee e = null;
		if(sel == 1)
		{
			System.out.println("请输入司机奖金：");
			int bouns = sc.nextInt();
			e = new Driver(name,age,salary,bouns); 
		}
		else if(sel == 2) 
		{
			System.out.println("请输入销售的提成比率");
			double rate = sc.nextDouble();
			e = new Seller(name,age,salary,rate);
		}
		else if(sel == 3) 
		{
			System.out.println("请输入销售的提成比率");
			double rate = sc.nextDouble();
			e = new SellerManager(name,age,salary,rate);
		}
		
		// 3. 把员工对象放入数组
		for(int i=0;i<100;i++)
		{
			if(employees[i] == null)
			{
				employees[i] = e;
				break;
			}
		}
		
	}
	
	public void list()
	{
		System.out.println("列表员工功能");
		System.out.println("姓名 年龄  工资  总收入");
		for(int i=0;i<100;i++)
		{
			if(employees[i]!=null)
			{
				System.out.println(employees[i]);
			}
		}
	}

}